import hashlib
import re

from flask import current_app


def get_md5_str(id_string):
    md5 = hashlib.md5()
    md5.update(id_string.encode("utf-8"))
    picname = md5.hexdigest()
    return picname


# 　应用到的加密算法
def check_hash_rigth(miyao, timestamp, hash_string):
    current_app.logger.warning("以下是验证hash字符串的方法：")
    tmp_str = str(timestamp) + str(miyao)
    current_app.logger.warning(timestamp)
    current_app.logger.warning(miyao)
    current_app.logger.warning(tmp_str)
    md5_str_level_one = get_md5_str(tmp_str)
    md5_str_level_two = get_md5_str(md5_str_level_one)
    current_app.logger.warning("这个是系统生成的hash:")
    current_app.logger.warning(md5_str_level_two)
    current_app.logger.warning("这个是前端传来的hash:")
    current_app.logger.warning(hash_string)
    if hash_string == md5_str_level_two:
        return 1
    else:
        return 0


# 获取淘口令的正则匹配
def get_tkl_str(some_str):
    complex_str = ".{1}\w{9,}.{1}"
    res_list = re.findall(complex_str, some_str)
    if res_list:
        return res_list[0]
    else:
        return ""
